Today it is very common that information is sent over computer networks. The amount of information being sent is rapidly increasing due to the advances in technology, making it possible to send and process more information at higher speed. Furthermore, new applications also demand more information since they have become more complex. An example of computer systems where information dissemination is essential is electronic trading systems.
Electronic trading of securities, derivatives, commodities, and other financial instruments results in a large amount of information which has to be distributed to users that need the information for making trade decisions, statistical calculations, and other assessments.
A single order update can affect many different message flows that are generated by such a system. For example, a trading system that continuously provides their users with BBO (Best Bid Offer), VWAP (Volume Weighted Average Price), MBO (Market By Order) and MBP (Market by Price) messages will need to generate four new messages for each received order that affects the best price point (three messages if the order is on a different price point). In other words this type of system will generate four messages for every incoming order message. In a high performance trading system that shall be able to handle several thousand order book changes per second, the 1-to-4 ratio above becomes a problem. Real trading systems will also most likely have several more message flows to generate than just the four mentioned above. The generation of such messages will cause performance issues on the central system as well as bandwidth utilizations issues on the network that are used within the system community.
Furthermore the users connected to such a centralised trading system typically want to have the information as soon as possible. In these cases it may not be enough to just boost the performance in the central system by for example updating the hardware. In order to get rid of a bottleneck or other latency problem in the system additional techniques may have to be used.
Usually these bottlenecks end up between the user side and central system, since the users have limited possibilities to update their connection to the central system. Thus the connections between the central system and the remote terminal computers is a weak point when it comes to information dissemination.
An example of a system for providing electronic information is described in WO2005/083603 A1. This document describes a quality-of-service system, which subsystem is operative to impose limitations upon trading activites in order that the performance of a component of the system or of the system as a whole is maintained within specified tolerances. For example it may limit the access to the central system by limiting the number of events that can be initiated by a trader.
But this prior art system has a number of drawbacks. One such drawback is that they limit the freedom of action for a user both for sending in and thereby executing their orders at a central system.
Another drawback in the traditional trading systems are that they often are very static. The systems do not consider that the amount of data from a trading system varies over time. There are peak sessions and there are low activity sessions that produces different amount of information. Furthermore this can also vary among different securities. One security might be in a peak session while another security is in a low activity session. Thus, configurations affect the entire trading day even though there are different requirements during different sessions. Furthermore, the granularities of the configurations are often so “rough” that they affect the entire system even though they might only be needed for one security.